home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-SPAR.{_6 / BPP.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  2KB  |  83 lines

  1. #ifndef _SPARC_BPP_H
  2. #define _SPARC_BPP_H
  3.  
  4. /*
  5.  * Copyright (c) 1995 Picture Elements
  6.  *    Stephen Williams
  7.  *    Gus Baldauf
  8.  *
  9.  * Linux/SPARC port by Peter Zaitcev.
  10.  * Integration into SPARC tree by Tom Dyas.
  11.  */
  12.  
  13. #include  <linux/ioctl.h>
  14.  
  15. /*
  16.  * This is a driver that supports IEEE Std 1284-1994 communications
  17.  * with compliant or compatible devices. It will use whatever features
  18.  * the device supports, prefering those that are typically faster.
  19.  *
  20.  * When the device is opened, it is left in COMPATABILITY mode, and
  21.  * writes work like any printer device. The driver only attempt to
  22.  * negotiate 1284 modes when needed so that plugs can be pulled,
  23.  * switch boxes switched, etc., without disrupting things. It will
  24.  * also leave the device in compatibility mode when closed.
  25.  */
  26.  
  27.  
  28.  
  29. /*
  30.  * This driver also supplies ioctls to manually manipulate the
  31.  * pins. This is great for testing devices, or writing code to deal
  32.  * with bizzarro-mode of the ACME Special TurboThingy Plus.
  33.  *
  34.  * NOTE: These ioctl currently do not interact well with
  35.  * read/write. Caveat emptor.
  36.  *
  37.  * PUT_PINS allows us to assign the sense of all the pins, including
  38.  * the data pins if being driven by the host. The GET_PINS returns the
  39.  * pins that the peripheral drives, including data if appropriate.
  40.  */
  41.  
  42. # define BPP_PUT_PINS _IOW('B', 1, int)
  43. # define BPP_GET_PINS _IOR('B', 2, void)
  44. # define BPP_PUT_DATA _IOW('B', 3, int)
  45. # define BPP_GET_DATA _IOR('B', 4, void)
  46.  
  47. /*
  48.  * Set the data bus to input mode. Disengage the data bin driver and
  49.  * be prepared to read values from the peripheral. If the arg is 0,
  50.  * then revert the bus to output mode.
  51.  */
  52. # define BPP_SET_INPUT _IOW('B', 5, int)
  53.  
  54. /*
  55.  * These bits apply to the PUT operation...
  56.  */
  57. # define BPP_PP_nStrobe   0x0001
  58. # define BPP_PP_nAutoFd   0x0002
  59. # define BPP_PP_nInit     0x0004
  60. # define BPP_PP_nSelectIn 0x0008
  61.  
  62. /*
  63.  * These apply to the GET operation, which also reads the current value
  64.  * of the previously put values. A bit mask of these will be returned
  65.  * as a bit mask in the return code of the ioctl().
  66.  */
  67. # define BPP_GP_nAck   0x0100
  68. # define BPP_GP_Busy   0x0200
  69. # define BPP_GP_PError 0x0400
  70. # define BPP_GP_Select 0x0800
  71. # define BPP_GP_nFault 0x1000
  72.  
  73.  
  74. /*
  75.  * Prototype for the initialization routine.
  76.  */
  77.  
  78. #ifdef __KERNEL__
  79. extern int bpp_init(void);
  80. #endif
  81.  
  82. #endif
  83.